#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <sys/wait.h>
#include "naive_dgemm.h"

int main(int argc, char *argv[])
{
    printf("hello world (pid:%d)\n", (int) getpid());
    int rc = fork();
    if (rc < 0) 
      {
          // fork failed; exit
          fprintf(stderr, "fork failed\n");
          exit(1);
      } 
    else if (rc == 0) 
      {
        // child (new process)
        printf("hello, I am child (pid:%d)\n", (int) getpid());
        naive_dgemm();
      } 
    else
      {
        // parent goes down this path (original process)
        int wc = wait(NULL);
        printf("hello, I am parent of %d (wc:%d) (pid:%d)\n",
	       rc, wc, (int) getpid());
	naive_dgemm();
	printf("finish");
      }
    return 0;
}
